28/05/2010

Questions pièges Java n°3

Question 3 :
Qu'affiche le programme suivant :

  class AClass {
private static void egale(Integer i1,Integer i2){
if (i1 == i2)
System.out.println(i1 + " == " + i2);
}
public static void main(String[] args) {
egale(4,4);
egale(200,200);
}
}

Questions pièges Java n°2

Question 2 :

Dans le programme suivant, quelles sont les lignes qui provoquent des erreurs de compilation :

public class AClass {
public static void method(byte b){}
public static void main(String[] args) {
byte b1 = 2;
byte b2 = 256;
char c = 10-20;
method(2);
method(256);
}
}

Questions pièges Java n°1

Ce billet et l'un des premiers d'une série issue d'un test que j'avais réalisé en 2006 après avoir lu la spécification Java 1.5
Le test comprenait 125 "questions pièges" sur le langage Java.

Je pense que la plupart de ces questions sont toujours valables en 1.6 et peut-être en 1.7

Question 1 :
Dans le programme suivant, y a-t-il des lignes qui provoquent des erreurs de compilation ? Lesquelles :

  public class AClass {
public static void main(String[] args) {
byte b = 2;
char c = -1;
short s = -3;
int i = c;
double d = 2.0;
float f = 2.0;
}
}